Protecting data by backing up the data (and restoring the data when necessary) is an important aspect of many computing systems. Data protection systems can be implemented in a wide range of computing systems that involve a wide variety of operating systems. Because of the variety of computing systems and different operating systems, backup operations and/or restore operations are often performed differently. More specifically, backup and restore operations can be implemented differently in different operating systems in part because the operating systems and the interaction with devices such as block devices differ among operating systems.
Many operating systems, for example, include a user space and a kernel space (kernel) or something similar. A kernel is often responsible for managing certain requests from application software or other software that typically operate in the user space. The functionality available in one kernel space may differ from the functionality available in the kernel space of another operating system.
General, the kernel manages access to a computer's resources. A kernel may perform device management, memory management and may respond to system calls. For example, the kernel may decide which processes have access to a processor, determine and manage the memory available to processes or applications, and accommodate requests for input/output (IO) devices.
When an application needs to access an IO device, a system call may be issued. A system call is used by an application or process to make a request to a kernel of an operating system. Unfortunately, some operations that need to be performed cannot be achieved using default system calls. Systems and methods are therefore needed to enable additional functionality for system calls.